var fs = require("fs");

function readFileFunc(filePath) {
	//返回promise容器对象
	//容器内部存放异步函数
	return new Promise(function(resolve, reject) {
			fs.readFile(filePath, "utf-8", function(err, data) {
				if (err) {
					//失败后调用then方法中的第二个回调函数
					reject(err);
				} else {
					//成功后调用then方法中的第一个回调函数
					resolve(data);
				}
			});
		});
	}
	//第一个promise调用then方法
	readFileFunc("./public/a.txt")
		.then(function(data) {
			console.log(data);
			//返回第二个promise对象，并且立即执行里面的代码，并将状态执行代码传递给下一个链式then里面的回调函数
			return readFileFunc("./public/a.txt");
		}, function(err) {
			console.log(err);
		}).then(function(data) {
			console.log(data);
			//返回第三个promise对象，并且立即执行里面的代码，并将状态执行代码传递给下一个链式then里面的回调函数
			return readFileFunc("./public/b.txt");
		}, function(err) {
			console.log(err);
		}).then(function(data){
			console.log("end："+data);
		});